In conventional data storage systems, data is stored opaquely in an un-typed fashion. The storage system does not understand the data formats being stored. The storage system stores the data using keys generated and tracked in an external system. When additional functionality, such as full text searching and/or indexing, is required, these are layered on top using other mechanisms. This causes consistency problems. It is difficult to make sure that all the data in the storage system is properly tracked and indexed and that all the information in the index is up-to-date and does not refer to non-existent data.